package com.budwk.app.sqfw.services;

import com.budwk.app.sqfw.models.Sqfw_rally;
import com.budwk.app.sqfw.models.Sqfw_rally_sign;
import com.budwk.app.sqfw.vo.SqfwRallyVO;
import com.budwk.starter.database.service.BaseService;

import java.util.List;
import java.util.Map;

/**
 * @program: wk-mini
 * @description: 社区活动
 * @author: LJT
 * @create: 2023-11-14 10:01
 **/
public interface SqfwRallySignForAdminService extends BaseService<Sqfw_rally_sign> {

    /**
     * 列表查询
     *
     * @param bean
     * @param queryAll
     * @param queryTime
     * @return
     */
    List<Sqfw_rally_sign> getRallySignInfoList(Sqfw_rally_sign bean, String queryAll, String queryTime, int pageNo, int pageSize);

    /**
     * 获取导出Excel或pdf的id列表
     *
     * @param bean
     * @return
     */
    List<String> getPdfExcelFileDownIdList(Sqfw_rally_sign bean, String queryAll, String queryTime);

    /**
     * 社区活动表Excel
     *
     * @param ids
     * @return
     */
    String createRallyExcelAndUpload(List<String> ids);

    /**
     * 根据类型下载模板
     *
     * @return
     */
    String getDownloadTemplateFormType();

    /**
     * 统计数量
     *
     * @return
     */
    Map<String, Integer> count(Sqfw_rally_sign bean, String queryAll, String queryTime, List<String> ids);

    /**
     * 下载活动总结pdf集合
     * @param bean
     * @param ids
     * @return
     */
    String generateRallyReportsPdfColl(SqfwRallyVO bean, List<String> ids);

    /**
     * 获取活动ID及对应活动总结PDF
     * @param bean
     * @param ids
     * @return
     */
    Map<String, String> queryRallyReportsPdfColl(SqfwRallyVO bean, List<String> ids);

    /**
     * 统计超时未签到记录
     *
     * @param sqfwRallySigns
     * @return
     */
    Map<String, String> checkSignTimeout(List<Sqfw_rally_sign> sqfwRallySigns);
}
